<article id="wikiArticle">
<div></div>
<p>下面介绍的是JavaScript从Netscape Navigator 4.0到4.5的更新日志。旧的Netscape文档可以在<a class="external" href="https://web.archive.org/web/20000815081640/http://developer.netscape.com/docs/manuals/communicator/jsref/js13.html" rel="noopener">archive.org</a>上面找到。Netscape Navigator 4.5是在1998年10月19日发布的。</p>
<p>JavaScript 1.3 最显著的变化是通过消除JavaScript1.2和1997年6月发布的新ECMA标准的不一致性来遵守ECMA-262和Unicode。JavaScript 1.2附加的特性，在ECMA-262的规定外还保留在JavaScript语言（见下面的列表中的差异）。</p>
<h2 id="JavaScript_版本">JavaScript 版本</h2>
<p>Netscape Navigator 4.06 到 4.5 将JavaScript语言的版本升到1.3。需要注意的是，Netscape Navigator 4.0 到 4.05以及更早的版本忽略了设置为"JavaScript 1.3"和更高的版本的脚本语言属性。</p>
<pre><code class="language-html">&lt;SCRIPT LANGUAGE="JavaScript1.2"&gt; &lt;!-- JavaScript for Navigator 4.0. --&gt;
&lt;SCRIPT LANGUAGE="JavaScript1.3"&gt; &lt;!-- JavaScript for Navigator 4.5. --&gt;</code></pre>
<h2 id="JavaScript_1.3新特性">JavaScript 1.3新特性</h2>
<h3 id="新增的全局变量">新增的全局变量</h3>
<ul>
<li><a href="Reference/Global_Objects/NaN" title="全局属性 NaN 的值表示不是一个数字（Not-A-Number）。"><code>NaN</code></a></li>
<li><a href="Reference/Global_Objects/Infinity" title="全局属性 Infinity 是一个数值，表示无穷大。"><code>Infinity</code></a></li>
<li><a href="Reference/Global_Objects/undefined" title="undefined是全局对象的一个属性。也就是说，它是全局作用域的一个变量。undefined的最初值就是原始数据类型undefined。"><code>undefined</code></a></li>
</ul>
<h3 id="新增的方法">新增的方法</h3>
<ul>
<li><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/isFinite"><code>isFinite()</code></a></li>
<li><a href="Reference/Global_Objects/Function/call" title="call() 方法调用一个函数, 其具有一个指定的this值和分别地提供的参数(参数的列表)。"><code>Function.prototype.call()</code></a></li>
<li><a href="Reference/Global_Objects/Function/apply" title="apply() 方法调用一个具有给定this值的函数，以及作为一个数组（或类似数组对象）提供的参数。"><code>Function.prototype.apply()</code></a></li>
<li><a href="Reference/Global_Objects/Date/UTC" title="Date.UTC() 方法接受的参数同日期构造函数接受最多参数时一样，返回从1970-1-1 00:00:00 UTC到指定日期的的毫秒数。"><code>Date.UTC()</code></a></li>
<li><a href="Reference/Global_Objects/Date/getFullYear" title="getFullYear() 方法根据本地时间返回指定日期的年份。"><code>Date.prototype.getFullYear()</code></a></li>
<li><a href="Reference/Global_Objects/Date/setFullYear" title="setFullYear() 方法根据本地时间为一个日期对象设置年份。"><code>Date.prototype.setFullYear()</code></a></li>
<li><a href="Reference/Global_Objects/Date/getMilliseconds" title="getMilliseconds() 方法，根据本地时间，返回一个指定的日期对象的毫秒数。"><code>Date.prototype.getMilliseconds()</code></a></li>
<li><a href="Reference/Global_Objects/Date/setMilliseconds" title="setMilliseconds() 方法会根据本地时间设置一个日期对象的豪秒数。"><code>Date.prototype.setMilliseconds()</code></a></li>
<li><a href="Reference/Global_Objects/Date/getUTCFullYear" title="getUTCFullYear() 以世界时为标准，返回一个指定的日期对象的年份。"><code>Date.prototype.getUTCFullYear()</code></a></li>
<li><a href="Reference/Global_Objects/Date/getUTCMonth" title="getUTCMonth() 方法以世界时为标准，返回一个指定的日期对象的月份，它是从 0 开始计数的（0 代表一年的第一个月）。"><code>Date.prototype.getUTCMonth()</code></a></li>
<li><a href="Reference/Global_Objects/Date/getUTCDate" title="getUTCDate() 方法以世界时为标准，返回一个指定的日期对象为一个月中的第几天"><code>Date.prototype.getUTCDate()</code></a></li>
<li><a href="Reference/Global_Objects/Date/getUTCHours" title="getUTCHours() 方法以世界时为标准，返回一个指定的日期对象的小时数。"><code>Date.prototype.getUTCHours()</code></a></li>
<li><a href="Reference/Global_Objects/Date/getUTCMinutes" title="getUTCMinutes() 方法以世界时为标准，返回一个指定的日期对象的分钟数。"><code>Date.prototype.getUTCMinutes()</code></a></li>
<li><a href="Reference/Global_Objects/Date/getUTCSeconds" title="getUTCSeconds() 方法以世界时为标准，返回一个指定的日期对象的秒数。"><code>Date.prototype.getUTCSeconds()</code></a></li>
<li><a href="Reference/Global_Objects/Date/getUTCMilliseconds" title="getUTCMilliseconds() 方法以世界时为标准，返回一个指定的日期对象的毫秒数。"><code>Date.prototype.getUTCMilliseconds()</code></a></li>
<li><a href="Reference/Global_Objects/Date/toUTCString" title="toUTCString() 方法把一个日期转换为一个字符串，使用UTC时区。"><code>Date.prototype.toUTCString()</code></a></li>
<li><a href="Reference/Global_Objects/Date/setUTCFullYear" title="setUTCFullYear() 方法根据世界标准时间为一个具体日期设置年份。"><code>Date.prototype.setUTCFullYear()</code></a></li>
<li><a href="Reference/Global_Objects/Date/setUTCMonth" title="setUTCMonth()方法根据通用的时间来设置一个准确的月份"><code>Date.prototype.setUTCMonth()</code></a></li>
<li><a href="Reference/Global_Objects/Date/setUTCDate" title="setUTCDate() 方法就是根据全球时间设置特定date对象的日期。"><code>Date.prototype.setUTCDate()</code></a></li>
<li><a href="Reference/Global_Objects/Date/setUTCHours" title="The setUTCHours() method sets the hour for a specified date according to universal time, and returns the number of milliseconds since 1 January 1970 00:00:00 UTC until the time represented by the updated Date instance."><code>Date.prototype.setUTCHours()</code></a></li>
<li><a href="Reference/Global_Objects/Date/setUTCMinutes" title="setUTCMinutes()方法会根据世界协调时（UTC）来设置指定日期的分钟数。"><code>Date.prototype.setUTCMinutes()</code></a></li>
<li><a href="Reference/Global_Objects/Date/setUTCSeconds" title="此 setUTCSeconds() 方法为一个依据国际通用时间的特定日期设置秒数。"><code>Date.prototype.setUTCSeconds()</code></a></li>
<li><a href="Reference/Global_Objects/Date/setUTCMilliseconds" title="setUTCMilliseconds() 方法会根据世界时来设置指定时间的毫秒数。"><code>Date.prototype.setUTCMilliseconds()</code></a></li>
</ul>
<h3 id="其他新特性">其他新特性</h3>
<ul>
<li><a href="/en-US/docs/Web/JavaScript/Reference/Operators/Comparison_Operators#Using_the_Equality_Operators" title="JavaScript/Reference/Operators/Comparison_Operators#Using_the_Equality_Operators">严格的相等运算符</a></li>
<li>支持Unicode</li>
<li>介绍了一种JavaScript的控制台</li>
</ul>
<h2 id="JavaScript_1.3_修改的功能">JavaScript 1.3 修改的功能</h2>
<ul>
<li>修改 <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date" title="JavaScript/Reference/Global_Objects/Date"><code>Date</code></a> 使之符合 ECMA-262

  <ul>
<li>新的构造函数： <code>Date(year, month, day, [,<em>hours</em> [<em>, minutes</em> [<em>, seconds</em> [<em>, milliseconds</em> ]]]])</code></li>
<li>附加的方法参数
    <ul>
<li><code>setMonth(month[, date])</code></li>
<li><code>setHours(hours[, min[, sec[, ms]]])</code></li>
<li><code>setMinutes(min[, sec[, ms]])</code></li>
<li><code>setSeconds(sec[, ms])</code></li>
</ul>
</li>
</ul>
</li>
<li>数组的长度（属性的长度）现在类型为32位 unsigned 整型。</li>
<li><a href="Reference/Global_Objects/Array/push" title="push() 方法将一个或多个元素添加到数组的末尾，并返回该数组的新长度。"><code>Array.prototype.push()</code></a>: 在JavaScript 1.2中， <code>push</code> 方法返回最后一个被添加到数组的元素。在JavaScript 1.3下， <code>push</code> 返回数组新的长度。</li>
<li><a href="Reference/Global_Objects/Array/slice" title="The source for this interactive demo is stored in a GitHub repository. If you'd like to contribute to the interactive demo project, please clone https://github.com/mdn/interactive-examples and send us a pull request."><code>Array.prototype.slice()</code></a>: 在JavaScript 1.2中， 如果只有一个元素被移除（<code>howMany 参数为1<font face="Open Sans, Arial, sans-serif">，</font>splice方法返回被移除的元素。而在JavaScript 1.3，splice方法通常返回一个包含被删除的元素的数组。如果只有一个元素被移除，则返回一个只包含一个元素的数组。</code></li>
<li><a href="Reference/Global_Objects/String/replace" title="replace() 方法返回一个由替换值替换一些或所有匹配的模式后的新字符串。模式可以是一个字符串或者一个正则表达式, 替换值可以是一个字符串或者一个每次匹配都要调用的函数。"><code>String.prototype.replace()</code></a>的<a class="external" href="https://web.archive.org/web/20000815081640/http://developer.netscape.com/docs/manuals/communicator/jsref/js13.html#replace" rel="noopener">变化</a>。</li>
<li><a href="Reference/Boolean" title="此页面仍未被本地化, 期待您的翻译!"><code>Boolean</code></a> 对象的<a class="external" href="https://web.archive.org/web/20000815081640/http://developer.netscape.com/docs/manuals/communicator/jsref/js13.html#Boolean" rel="noopener">变化</a>。</li>
<li><code>toString()的</code><a class="external" href="https://web.archive.org/web/20000815081640/http://developer.netscape.com/docs/manuals/communicator/jsref/js13.html#toString" rel="noopener">变化</a>。</li>
</ul>
<h2 id="非ECMA-262规范的JavaScript_1.3特性">非ECMA-262规范的JavaScript 1.3特性</h2>
<p>下面是关于1998年6月的ECMA-262版本和JavaScript 1.3之间的比较。下面的特性不是当时的标准的一部分，但是在JavaScript 1.3里面实施了。</p>
<h3 id="关键字和操作符">关键字和操作符</h3>
<ul>
<li><a href="/en-US/docs/Web/JavaScript/Reference/Operators/Comparison_Operators#Using_the_Equality_Operators" title="JavaScript/Reference/Operators/Comparison_Operators#Using_the_Equality_Operators">严格的相等运算符</a></li>
<li>垂直制表符(\ v或\ u000B)转义序列。</li>
</ul>
<h3 id="语句">语句</h3>
<ul>
<li><a href="/en-US/docs/Web/JavaScript/Reference/Statements/label"><code>label</code></a></li>
<li><a href="/en-US/docs/Web/JavaScript/Reference/Statements/switch"><code>switch</code></a></li>
<li><a href="/en-US/docs/Web/JavaScript/Reference/Statements/do...while"><code>do...while</code></a></li>
<li><a href="/en-US/docs/Web/JavaScript/Reference/Statements/export"><code>export</code></a></li>
<li><a href="/en-US/docs/Web/JavaScript/Reference/Statements/import"><code>import</code></a></li>
</ul>
<h3 id="内置对象">内置对象</h3>
<ul>
<li><a href="Reference/RegExp" title="此页面仍未被本地化, 期待您的翻译!"><code>RegExp</code></a></li>
</ul>
<h3 id="内置对象的方向">内置对象的方向</h3>
<ul>
<li><code><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/toSource">toSource()</a></code></li>
<li><a href="Reference/Global_Objects/Object/watch" title="undefined."><code>Object.prototype.watch()</code></a></li>
<li><a href="Reference/Global_Objects/Object/unwatch" title="unwatch() 删除一个 watch() 设置的 watchpoint."><code>Object.prototype.unwatch()</code></a></li>
<li><a href="Reference/Global_Objects/Function/arity" title="返回一个函数的形参数量."><code>Function.arity</code></a></li>
<li><a href="Reference/Global_Objects/Function/apply" title="apply() 方法调用一个具有给定this值的函数，以及作为一个数组（或类似数组对象）提供的参数。"><code>Function.prototype.apply()</code></a></li>
<li><a href="Reference/Global_Objects/Function/call" title="call() 方法调用一个函数, 其具有一个指定的this值和分别地提供的参数(参数的列表)。"><code>Function.prototype.call()</code></a></li>
<li><a href="Reference/Global_Objects/Array/concat" title="concat() 方法用于合并两个或多个数组。此方法不会更改现有数组，而是返回一个新数组。"><code>Array.prototype.concat()</code></a></li>
<li><a href="Reference/Global_Objects/Array/pop" title="pop()方法从数组中删除最后一个元素，并返回该元素的值。此方法更改数组的长度。"><code>Array.prototype.pop()</code></a></li>
<li><a href="Reference/Global_Objects/Array/push" title="push() 方法将一个或多个元素添加到数组的末尾，并返回该数组的新长度。"><code>Array.prototype.push()</code></a></li>
<li><a href="Reference/Global_Objects/Array/shift" title="shift() 方法从数组中删除第一个元素，并返回该元素的值。此方法更改数组的长度。"><code>Array.prototype.shift()</code></a></li>
<li><a href="Reference/Global_Objects/Array/slice" title="The source for this interactive demo is stored in a GitHub repository. If you'd like to contribute to the interactive demo project, please clone https://github.com/mdn/interactive-examples and send us a pull request."><code>Array.prototype.slice()</code></a></li>
<li><a href="Reference/Global_Objects/Array/splice" title="splice()方法通过删除现有元素和/或添加新元素来修改数组,并以数组返回原数组中被修改的内容。"><code>Array.prototype.splice()</code></a></li>
<li><a href="Reference/Global_Objects/String/concat" title="concat() 方法将一个或多个字符串与原字符串连接合并，形成一个新的字符串并返回。"><code>String.prototype.concat()</code></a></li>
<li><a href="Reference/Global_Objects/String/concat" title="concat() 方法将一个或多个字符串与原字符串连接合并，形成一个新的字符串并返回。"><code>String.prototype.concat()</code></a></li>
<li><a href="Reference/Global_Objects/String/match" title="当一个字符串与一个正则表达式匹配时， match()方法检索匹配项。"><code>String.prototype.match()</code></a></li>
<li><a href="Reference/Global_Objects/String/search" title="search() 方法执行正则表达式和 String对象之间的一个搜索匹配。"><code>String.prototype.search()</code></a></li>
<li><a href="Reference/Global_Objects/String/slice" title="slice() 方法提取一个字符串的一部分，并返回一新的字符串。"><code>String.prototype.slice()</code></a></li>
<li><a href="Reference/Global_Objects/String/substr" title="substr() 方法返回一个字符串中从指定位置开始到指定字符数的字符。"><code>String.prototype.substr()</code></a></li>
</ul>
</article>